#ifndef __WIZ_BASE_TYPE_ID_HPP__SHANHAOBO_19800429__
#define __WIZ_BASE_TYPE_ID_HPP__SHANHAOBO_19800429__

#include "../Core/WizBaseCoreTypeInt.hpp"

namespace Wiz
{
    namespace ID
    {
        WIZ_DECLARE(::Wiz::Int::Type);
        static ::Wiz::ID::TypeConst Invalid     = ::Wiz::Int::Min;
        static ::Wiz::ID::TypeConst Min         = 0;
        static ::Wiz::ID::TypeConst Max         = ::Wiz::Int::Max;
    } /// end of namespace ID
    namespace UID
    {
        WIZ_DECLARE(::Wiz::UInt::Type);
        static ::Wiz::UID::TypeConst Invalid    = ::Wiz::UInt::Max;
        static ::Wiz::UID::TypeConst Min        = 0;
        static ::Wiz::UID::TypeConst Max        = ::Wiz::UInt::Max;
    } /// end of namespace UID
    //////////////////////////////////////////////////////////////////////////
    namespace ID8
    {
        WIZ_DECLARE(::Wiz::Int8::Type);
        static ::Wiz::ID8::TypeConst Invalid    = ::Wiz::Int8::Min;
        static ::Wiz::ID8::TypeConst Min        = 0;
        static ::Wiz::ID8::TypeConst Max        = ::Wiz::Int8::Max;
    } /// end of namespace ID8
    namespace ID16
    {
        WIZ_DECLARE(::Wiz::Int16::Type);
        static ::Wiz::ID16::TypeConst Invalid   = ::Wiz::Int16::Min;
        static ::Wiz::ID16::TypeConst Min       = 0;
        static ::Wiz::ID16::TypeConst Max       = ::Wiz::Int16::Max;
    } /// end of namespace ID16
    namespace ID32
    {
        WIZ_DECLARE(::Wiz::Int32::Type);
        static ::Wiz::ID32::TypeConst Invalid   = ::Wiz::Int32::Min;
        static ::Wiz::ID32::TypeConst Min       = 0;
        static ::Wiz::ID32::TypeConst Max       = ::Wiz::Int32::Max;
    } /// end of namespace ID32
    namespace ID64
    {
        WIZ_DECLARE(::Wiz::Int64::Type);
        static ::Wiz::ID64::TypeConst Invalid   = ::Wiz::Int64::Min;
        static ::Wiz::ID64::TypeConst Min       = 0;
        static ::Wiz::ID64::TypeConst Max       = ::Wiz::Int64::Max;
    } /// end of namespace ID64
    //////////////////////////////////////////////////////////////////////////
    namespace UID8
    {
        WIZ_DECLARE(::Wiz::UInt8::Type);
        static ::Wiz::UID8::TypeConst Invalid   = ::Wiz::UInt8::Max;
        static ::Wiz::UID8::TypeConst Min       = 0;
        static ::Wiz::UID8::TypeConst Max       = ::Wiz::UInt8::Max;
    } /// end of namespace ID8
    namespace UID16
    {
        WIZ_DECLARE(::Wiz::UInt16::Type);
        static ::Wiz::UID16::TypeConst Invalid   = ::Wiz::UInt16::Max;
        static ::Wiz::UID16::TypeConst Min       = 0;
        static ::Wiz::UID16::TypeConst Max       = ::Wiz::UInt16::Max;
    } /// end of namespace ID16
    namespace UID32
    {
        WIZ_DECLARE(::Wiz::UInt32::Type);
        static ::Wiz::UID32::TypeConst Invalid   = ::Wiz::UInt32::Max;
        static ::Wiz::UID32::TypeConst Min       = 0;
        static ::Wiz::UID32::TypeConst Max       = ::Wiz::UInt32::Max;
    } /// end of namespace ID32
    namespace UID64
    {
        WIZ_DECLARE(::Wiz::UInt64::Type);
        static ::Wiz::UID64::TypeConst Invalid   = ::Wiz::UInt64::Max;
        static ::Wiz::UID64::TypeConst Min       = 0;
        static ::Wiz::UID64::TypeConst Max       = ::Wiz::UInt64::Max;
    } /// end of namespace UID64
} /// end of namespace Wiz

#endif /*__WIZ_BASE_TYPE_ID_HPP__SHANHAOBO_19800429__*/
